@echo off
REM 项目初始化脚本（Windows）
echo ========================================
echo 南昌旅游路线规划系统 - 项目初始化
echo ========================================
echo.

REM 检查Python
echo [1/6] 检查Python环境...
python --version >nul 2>&1
if errorlevel 1 (
    echo 错误: 未找到Python，请先安装Python 3.8+
    pause
    exit /b 1
)
python --version
echo.

REM 检查Node.js
echo [2/6] 检查Node.js环境...
node --version >nul 2>&1
if errorlevel 1 (
    echo 警告: 未找到Node.js，前端功能可能无法使用
) else (
    node --version
)
echo.

REM 检查Redis
echo [3/6] 检查Redis服务...
python -c "import redis; r = redis.Redis(host='127.0.0.1', port=6379, db=0); r.ping(); print('Redis连接正常')" 2>nul
if errorlevel 1 (
    echo 警告: Redis未运行，Celery功能将无法使用
    echo 请启动Redis: redis-server
) else (
    echo Redis连接正常
)
echo.

REM 安装后端依赖
echo [4/6] 安装后端依赖...
cd backend
if not exist venv (
    echo 创建虚拟环境...
    python -m venv venv
)
call venv\Scripts\activate.bat
pip install --upgrade pip
pip install -r requirements.txt
if errorlevel 1 (
    echo 错误: 依赖安装失败
    pause
    exit /b 1
)
echo 后端依赖安装完成
echo.

REM 数据库迁移
echo [5/6] 执行数据库迁移...
python manage.py migrate
if errorlevel 1 (
    echo 警告: 数据库迁移失败，请检查数据库配置
)
echo.

REM 创建超级用户（可选）
echo [6/6] 创建超级用户...
echo 是否创建超级用户？(Y/N)
set /p create_superuser=
if /i "%create_superuser%"=="Y" (
    python manage.py createsuperuser
)
echo.

REM 安装前端依赖
cd ..\frontend
if exist package.json (
    echo 安装前端依赖...
    call npm install
    if errorlevel 1 (
        echo 警告: 前端依赖安装失败
    ) else (
        echo 前端依赖安装完成
    )
)
cd ..

echo.
echo ========================================
echo 项目初始化完成！
echo ========================================
echo.
echo 下一步：
echo 1. 启动后端: cd backend ^&^& python manage.py runserver
echo 2. 启动前端: cd frontend ^&^& npm run serve
echo 3. 启动Celery: cd backend ^&^& scripts\start_celery.bat
echo.
pause

